#ifndef _GC_COMMON_FILE_READER_H_
#define _GC_COMMON_FILE_READER_H_

#include <stdio.h>
#include <stdlib.h>
#include <json/json.h>
#include "config.h"
#include "list.h"



/**
 * 
 * [{"k" : "hello", "v" : "world", "vt": 1, "v" : 1}, {...}]
 *
 *
 **/
gc_list_t * gc_get_config_by_file(const gc_config_t * config) {

	if(config->src != GC_SRC_FILE || config->data == NULL) {
		fprintf(stderr, "%s:%d: gc_config_t::src is not file!\n", __FILE__, __LINE__);
		return NULL;	
	}

	json_object * json = json_object_from_file(config->data);

	gc_list_t * list = gc_convert_json_object_to_list(json);

	if(json != NULL) {
		json_object_put(json);
	}

	return list;
}


#endif
